Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
■2nd CCU(Communication Control Unit)
対象 PC-9821Xa16・Xa13・Xa12・Xa10・Xa9・Xa7・Xa7e・Xt16・Xt13・St15・St20・Ra20・
Xb10・Xv13・Xe10・V20・V16・V13・V12・V10・V7・Cx2・Cb2・Cx3・Cb3・Ne3・Nd2・
Na12・Na9・Na7・Nb7・Nx・Lt2
チップ 16550
IR301A
解説 o セカンダリシリアルとしては16550相当のチップが搭載されている。
o セカンダリシリアルインタフェースの有無は、F8E8:0011h bit 3を参照する
ことで判別される。
o PC-9821Cx2・Cb2・Cx3・Cb3・Ne3・Nd2・Na12・Na9・Na7・Nb7・Nx・Lt2では、
セカンダリシリアルインタフェースはIrDA通信ポート専用で使用され、
シリアルポートとして外部にRS-232Cのコネクタは用意されない。
o PC-9821Cx2・Cb2・Cx3・Cb3・Ne3・Nd2・Na12・Na9・Na7・Nb7・Nx・Lt2では、
IrDAトランシーバICとしてSHARP社製のIR301Aがセカンダリシリアル
ポートに接続されている。
関連 I/O 0002h bit 5
F8E8:0011h bit 3
I/O 0238h
名前 送信ホールディングレジスタ(THR)
受信バッファレジスタ(RBR)
Undocumented
機能
[READ/WRITE]
bit 7〜0: データ
* シリアルポートに入出力するデータを読み書きする。
解説 o RS-232Cのデータを入出力する。
o I/O 023Bh bit 7のDLABが0のときのみアクセスが可能である。
関連 I/O 023Bh bit 7
I/O 0238h
名前 分周比レジスタ(DL)
Undocumented
機能
[READ/WRITE]
bit 7〜0: 分周比(下位8ビット)
--------+------------
bps |分周比レジスタ
--------+------------
300 | 384
600 | 192
1200 | 96
2400 | 48
4800 | 24
9600 | 12
19200 | 6
38400 | 3
57600 | 2
115200 | 1
--------+------------
解説 o RS-232Cの転送レートを設定する。分周レジスタの上位8ビットは、I/O 0239h
で設定する。
o I/O 023Bh bit 7のDLABが1のときのみアクセスが可能である。
関連 I/O 0239h
I/O 023Bh bit 7
I/O 0239h
名前 割り込み許可レジスタ(IER)
Undocumented
機能
[READ/WRITE]
bit 7〜4: 未使用(常に0000bにする)
bit 3: モデムステータス割り込み(EDSSI)
bit 2: ラインステータス割り込み(ELSI)
bit 1: 送信割り込み(ETBEI)
bit 0: 受信割り込み(ERBFI)
1= 許可
0= 禁止
解説 o RS-232C割り込みのマスク状態を設定する。
o I/O 023Bh bit 7のDLABが0のときのみアクセスが可能である。
関連 I/O 0002h
I/O 023Bh bit 7
I/O 0239h
名前 分周比レジスタ(DH)
Undocumented
機能
[READ/WRITE]
bit 7〜0: 分周比(上位8ビット)
解説 o RS-232Cの転送レートを設定する。分周レジスタの下位8ビットは、I/O 0238h
で設定する。
o I/O 023Bh bit 7のDLABが1のときのみアクセスが可能である。
関連 I/O 0238h
I/O 023Bh bit 7
I/O 023Ah
名前 割り込み参照レジスタ(IIR)
FIFO制御レジスタ(FCR)
Undocumented
機能
[READ]
bit 7,6: FIFOs
00b= 8250,16450互換キャラクタモード
01b= FIFO有効,使用しない
11b= FIFO有効,使用する
bit 5,4: 未使用(常に00b)
bit 3〜0: 割り込み要因レジスタ(IIR3〜0)
0001b=
0110b= 受信ライン,ステータス割り込み
* オーバーランエラー,パリティエラー,フレーミングエラー
ブレイク検出時に発生する
* LSRを読み出すと解除される
0100b= 受信データ有効割込み
* 受信データが有効
* RBRから読み出すと解除される
1100b= キャラクタタイムアウト割り込み
0010b= 送信ホールディングレジスタエンプティ割り込み
* 送信ホールディングレジスタが空
* IIRの読み出しまたは、THRに書き込みで解除される
0000b= モデムステータス割り込み
* CTS,DSR,RI,DCDが変化
* MSRを読み出すと解除される
[WRITE]
bit 7,6: 受信割り込みトリガレベル(RCV_TLVL)
00b= 1バイト
01b= 4バイト
10b= 8バイト
11b= 14バイト
bit 5,4: Reserved(常に00b)
bit 3: TXDRY端子モード
1= モード1
0= モード0
bit 2: 送信FIFOリセット
bit 1: 受信FIFOリセット
1= リセットする
0= リセットしない
bit 0: FIFO許可
1= FIFOの動作を許可する
0= FIFOの動作を禁止する
解説 o 割り込み要因を読み出す。
o FIFOの動作を制御をする。
I/O 023Bh
名前 ラインコントロールレジスタ(LCR)
Undocumented
機能
[READ/WRITE]
bit 7: 分周比レジスタアクセス許可(DLAB)
1= 分周比設定
0= 通常
bit 6: ブレーク送出(SB)
bit 5: パリティ(SP)
1= 負論理パリティ
0= 正論理パリティ
bit 4: パリティ(EPS)
1= 偶数パリティ
0= 奇数パリティ
bit 3: パリティ(PEN)
1= パリティあり
0= パリティなし
bit 2: ストップビット長
bit 1,0: データビット長
----+------+--------
ビット|データ|ストップ
210 |ビット| ビット
----+------+--------
000b| 5 | 1
100b| 5 | 1.5
010b| 6 | 1
110b| 6 | 2
001b| 7 | 1
101b| 7 | 2
011b| 8 | 1
111b| 8 | 2
----+------+--------
解説 o シリアル信号のフォーマットを設定する。
o 分周比レジスタにアクセスするかどうかを設定する。
関連 I/O 0238h
I/O 0239h
I/O 023Ch
名前 モデムコントロールレジスタ
Undocumented
機能
[READ/WRITE]
bit 7〜5: 未使用
bit 4: ループバック
bit 3,2: 汎用出力
bit 1: RTS
bit 0: DTR
解説 o RS-232C信号線の制御を行う。
o RTSはデータを受信することができるときに1に設定する。
o DTRは端末が通信の用意ができている事を示すときに1に設定する。
I/O 023Dh
名前 ラインステータスレジスタ
Undocumented
機能
[READ/WRITE]
bit 7: FIFOデータエラー(E_RFIFO)
bit 6: 送信FIFOエンプティ(TEMT)
bit 5: 送信ホールディングレジスタエンプティ
bit 4: ブレイク検出(BI)
bit 3: フレーミングエラー(FE)
bit 2: パリティエラー(PE)
bit 1: オーバーランエラー(OE)
bit 0: データレディ(DR)
解説 o 受信データのステータスを参照する。
o RS-232C信号線を参照する。
I/O 023Eh
名前 モデムステータスレジスタ
Undocumented
機能
[READ]
bit 7: DCD
bit 6: RI
bit 5: DSR
bit 4: CTS
bit 3: DDCD
bit 2: DERI
bit 1: DDSR
bit 0: DCTS
解説 o モデム信号線の状態を読み出す
I/O 023Fh
名前 スクラッチレジスタ
Undocumented
機能
[READ/WRITE]
bit 7〜0: スクラッチデータ
解説 o プログラマが自由に読み書き出来るポート。書き込んだ値が読み出される。